package book;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

//这个类有两个方法，用于获取连接对象和关闭数据库
public class DbUtil
{
    //驱动名称,加载驱动时会用到
    public static String names = "com.mysql.jdbc.Driver";

    //下面三个变量，在连接数据库时会用到
    //要连接的数据库的名称
    public static String url = "jdbc:mysql://localhost:3306/text";

    //用户名，没更改的话默认是root
    public static String user = "root";

    //用户密码
    public static String password = "123456";

    //获取连接的方法，这个方法会返回一个连接对象//需要设置抛出异常
    public Connection getCon() throws Exception
    {
        Class.forName(names); //加载驱动
        Connection con = DriverManager.getConnection(url, user, password); //返回一个数据库的连接对象
        return con;
    }

    //关闭的方法，sta是用于执行sql语句的对象，在用完之后也要关闭
    //con是连接对象，连接结束后需要关闭
    public void close(Statement sta,Connection con)
    {
        try
        {
            if(con != null)
            {
                //先有的连接对象，后有的sta，所以要先关闭con，再关闭sta，顺序一定不能反。
                con.close();

                System.out.print("关闭数据库成功\n");

                if(sta != null)
                {
                    sta.close();
                    System.out.print("关闭Statement成功\n");
                }
                else System.out.print("关闭Statement失败\n");
            }
        }
        catch (SQLException e)
        {

            e.printStackTrace();
            System.out.print("关闭数据库失败\n");
            System.out.print("关闭Statement失败\n");
        }
    }
}

